/* 
 *  javascribd - Java client library for the Scribd API. 
 *  Copyright (C) 2009 by Marcel Eyke, http://code.google.com/p/javascribd/ 
 *  Use is subject to license terms of LGPLv3. See license.txt. 
 */
package com.google.code.javascribd.docs;

import java.net.URL;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import com.google.code.javascribd.connection.ScribdResponse;
import com.google.code.javascribd.type.Access;
import com.google.code.javascribd.type.DocumentId;
import com.google.code.javascribd.type.ErrorType;
import com.google.code.javascribd.type.License;
import com.google.code.javascribd.type.ResponseStatus;
import com.google.code.javascribd.type.ShowAds;

/**
 * This class is the POJO of the response to the docs.getSettings Scribd
 * request.
 * 
 * @see <a
 *      href="http://www.scribd.com/developers/api?method_name=docs.getSettings">docs.getSettings
 *      specification on Scribd.com</a>
 * 
 * @author Marcel Eyke
 */
/* TODO, May 31, 2009, meyke - implement Document store */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "docs.getSettings")
@XmlRootElement(name = "rsp")
public class GetSettingsResponse implements ScribdResponse {
	@XmlAttribute(name = "stat")
	private ResponseStatus status;

	@XmlElement(name = "error")
	private ErrorType error;

	@XmlElement(name = "doc_id")
	private DocumentId docId;

	@XmlElement(name = "title")
	private String title;

	@XmlElement(name = "description")
	private String description;

	@XmlElement(name = "access_key")
	private String accessKey;

	@XmlElement(name = "secret_password")
	private String secretPassword;

	@XmlElement(name = "thumbnail_url")
	private URL thumbnailUrl;

	@XmlElement(name = "link_back_url")
	private URL linkBackUrl;

	@XmlElement(name = "page_count")
	private Integer pageCount;

	@XmlElement(name = "edition")
	private String edition;

	@XmlElement(name = "access")
	private Access access;

	@XmlElement(name = "tags")
	private String tags;

	@XmlElement(name = "author")
	private String author;

	@XmlElement(name = "publisher")
	private String publisher;

	@XmlElement(name = "when_published")
	private String whenPublished;

	@XmlElement(name = "license")
	private License license;

	@XmlElement(name = "show_ads")
	private ShowAds showAds;

	public ResponseStatus getStatus() {
		return status;
	}

	public ErrorType getError() {
		return error;
	}

	public DocumentId getDocId() {
		return docId;
	}

	public String getTitle() {
		return title;
	}

	public String getDescription() {
		return description;
	}

	public String getAccessKey() {
		return accessKey;
	}

	public String getSecretPassword() {
		return secretPassword;
	}

	public URL getThumbnailUrl() {
		return thumbnailUrl;
	}

	public URL getLinkBackUrl() {
		return linkBackUrl;
	}

	public Integer getPageCount() {
		return pageCount;
	}

	public String getEdition() {
		return edition;
	}

	public Access getAccess() {
		return access;
	}

	public String getTags() {
		return tags;
	}

	public String getAuthor() {
		return author;
	}

	public String getPublisher() {
		return publisher;
	}

	public String getWhenPublished() {
		return whenPublished;
	}

	public License getLicense() {
		return license;
	}

	public ShowAds getShowAds() {
		return showAds;
	}

}
